// Karma configuration
// Generated on Wed May 23 2018 16:03:39 GMT+0800 (CST)

module.exports = function(config) {
  config.set({

    // 根路径，后面配置的基本所有相对路径都会根据这个路径来构造。
    basePath: '',


    // 使用到的框架
    // 目前支持的框架： https://npmjs.org/browse/keyword/karma-adapter
    frameworks: ['jasmine'],


    // 将会在浏览器里面执行的代码
    files: [
        './test/**/*.js',
        './test/**/*.spec.js'
    ],


    // 需要从 files 中排除掉的文件
    exclude: [
        'karma.conf.js'
    ],


    // 需要做预处理的文件，以及这些文件对应的预处理器。
    // 此处就可以将 coffee 、 ES6 等代码转换一下。
    preprocessors: {
        './test/**/*.js':['coverage']
    },
    coverageReporter:{
      type:'html',
      dir: 'coverage/'
    },
    // test results reporter to use
    // possible values: 'dots', 'progress'
    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
    reporters: ['progress','coverage'],


    // 服务器端口号
    port: 9876,


    // 在输出内容（报告器和日志）中启用/禁用颜色
    colors: true,


    // 日志级别
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
    logLevel: config.LOG_INFO,


    // 启用/禁用监视文件变化重新执行测试的功能
    autoWatch: true,


    // 要测试的目标环境 ,既然数组可以同时使用多个如：browsers: ['Chrome', 'Firefox', 'Safari'],
    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
    browsers: ['PhantomJS'],


    // 命令窗口独立运行环境，不打开浏览器则时true.
    // if true, Karma captures browsers, runs the tests and exits
    singleRun: true,

    // Concurrency level
    // how many browser should be started simultaneous
    concurrency: Infinity
  })
}
